#-*-encoding=utf-8-*-
@script_attr(permission='zope.ManageContent',use_template='basic')
def setup():
    """ 安装程序

    让用户选择安装"""

    print '此应用用于办公平台DIY，请需要将系统初始化为那种类型:<br />'
    print '<ul>'
    print '<li><a href="++script++zopen.setups.install?scriptname=docs">文档管理</a></li>'
    print '<li><a href="++script++zopen.setups.install?scriptname=projects">项目管理</a></li>'
    print '<li><a href="++script++zopen.setups.install?scriptname=pdca">工作管理(部门+项目)</a></li>'
    print '<li><a href="++script++zopen.setups.install?scriptname=isodoc">ISO文控系统</a></li>'
    print '<li><a href="++script++zopen.setups.install?scriptname=lawyer">律师事务所办公OA</a></li>'
    print '<li><a href="++script++zopen.setups.install?scriptname=school">学校办公OA</a></li>'
    print '<li><a href="++script++zopen.setups.install?scriptname=edu">教学评估</a></li>'
    print '<li><a href="++script++zopen.setups.install?scriptname=all">整个平台</a></li>'
    print '</ul>'
    return printed

@script_attr(permission='zope.ManageContent',use_template='none')
def install():
    scriptname = request.get('scriptname')
    call_script(scriptname)
    request.response.redirect(absoluteURL(root, request))

@script_attr(permission='zope.ManageContent',use_template='none')
def all():
    """安装程序

    这是应用的安装程序"""
    IDublinCore(root).title = u'易度办公平台'
    IAppletData(root).tabpages.append('view:desk')
    deployApplet('default.projects', context, u'projects', u'项目')
    deployApplet('default.sites', context, u'sites', u'部门')
    deployApplet("default.contactman", context, 'bizman', u'客户')
    deployApplet('default.workgroup', context, u'groups', u'工作组')
    call_script('initFilerepos')

@script_attr(permission='zope.ManageContent',use_template='none')
def projects():
    """安装项目管理
    """
    IDublinCore(root).title = u'易度项目管理系统'
    deployApplet('default.projects', context, u'projects', u'项目')

@script_attr(permission='zope.ManageContent',use_template='none')
def docs():
    """安装文档管理

    这是应用的安装程序"""
    IDublinCore(root).title = u'易度文档管理系统'
    call_script('initFilerepos')

@script_attr(permission='zope.ManageContent',use_template='none')
def pdca():
    """安装工作管理

    这是应用的安装程序"""

    IDublinCore(root).title = u'易度工作管理系统'
    IAppletData(root).tabpages.append('view:desk')
    deployApplet('default.projects', context, u'projects', u'项目')
    deployApplet('default.sites', context, u'sites', u'部门')

@script_attr(permission='zope.ManageContent',use_template='none')
def lawyer():
    """安装律师事务所OA

    这是应用的安装程序"""

    IDublinCore(root).title = u'律师事务所办公OA'
    projects = deployApplet('default.projects', context, u'projects', u'案件')
    projects.msg_cats = ['资料收集', '项目管理', '会议记录', '知识交流', '其他']
    projects.file_cats = ['法律法规', '法律文书', '公企文规', '判裁案例', '合同协议']
    projects.worklog_cats = ['资料收集', '调查分析', '编写诉讼书', '面见证人', '采证']

    tags_text = """按服务领域
        -刑事代理
        -房地产事务
        -公司/证券事务
        -金融贸易事务
        -知识产权事务
        -涉外投资事务
        -诉讼/仲裁事务
        按客户所在行业
        -政府/国家机关
        -金融银行
        -证券保险
        -房地产
        -汽车制造
        -进出口贸易
        -连锁店超市
        -外资企业
        按客户所在的地区
        -广州
        -深圳
        -珠海
        -江门
        -香港
        -上海
        -南京
        -厦门
        -北京
        -其他
        按服务时间
        -2007年
        -2008年
        -2009年
        -2010年"""
    tags_text = '\n'.join([line.strip() for line in tags.splitlines()])
    IFaceTagSetting(projects).setFaceTagText(tags_text)

    deployApplet("default.contactman", context, 'bizman', u'客户')

    files = deployApplet('default.filerepos', context, u'files', u'知识库')
    IGrantManager(files).grantRole('zopen.Reader4', 'groups.tree.default')

    folder = files.addFolder(u'法律法规' )
    folder = files.addFolder(u'合同范本')
    folder = files.addFolder(u'司法文书')
    folder = files.addFolder(u'律师文书')
    folder = files.addFolder(u'诉讼文书')
    folder = files.addFolder(u'仲裁公证')
    folder = files.addFolder(u'企业文书')
    folder = files.addFolder(u'其他文书')
    folder = files.addFolder(u'temp', u'临时区',u'此文件夹禁止删除，用于存放附件或者其他临时文件')
    IGrantManager(folder).grantRole('zopen.Reader4', 'groups.tree.default')
    IGrantManager(folder).grantRole('zopen.Collaborator', 'groups.tree.default')

    folder = files['temp'].addFolder(u'scan', u'扫描临时区', u'扫描的临时共享区域，扫描文件默认存放在这里')
    IGrantManager(folder).grantRole('zopen.Editor', 'groups.tree.default')

@script_attr(permission='zope.ManageContent',use_template='none')
def edu():
    """ 学校OA

    主要给番禺职业技术学校开发"""
    installPackage('zopen.edu', context)
    callScript(context, request, 'zopen.edu.setup', redirect=False)

@script_attr(permission='zope.ManageContent',use_template='none')
def school():
    """ 学校OA

    主要给番禺职业技术学校开发"""
    IDublinCore(root).title = u'学校办公平台'
    installPackage('zopen.publisher', context)
    installPackage('zopen.iframe', context)

    IAppletData(root).tabpages.append('view:desk')
    deployApplet('iframe.default', context, u'oa', u'办公OA')

    files = deployApplet('default.filerepos', context, u'files', u'学校文档')
    IGrantManager(files).grantRole('zopen.Reader4', 'groups.tree.default')
    files = deployApplet('default.filerepos', context, u'resources', u'教学资源')
    IGrantManager(files).grantRole('zopen.Reader4', 'groups.tree.default')

    forum = deployApplet('default.forum', context, u'forum', u'论坛')
    forum.addCategory('upper', u'上级公告')
    forum.addCategory('school', u'学校公告')
    forum.addCategory('notice', u'系统通知')
    forum.addCategory('help', u'系统帮助')


    deployApplet('publisher.default', context, u'publisher', u'外网资源')
    IAppletData(root).tab_style = u'tab'

@script_attr(permission='zope.ManageContent',use_template='none')
def isodoc():
    """ ISO文控系统

    支持ISO文控的一套方案"""
    IDublinCore(root).title = u'易度ISO文控系统'
    IAppletData(root).tab_style = u'tab'
    installPackage('zopen.isodoc', context)

    forum = deployApplet('default.forum', context, u'forum', u'公共通知')
    forum.addCategory('admin', u'公告')
    forum.addCategory('help', u'系统帮助')

    files = deployApplet('default.filerepos', context, u'files', u'公司文档')
    IGrantManager(files).grantRole('zopen.Reader4', 'groups.tree.default')

    files = deployApplet('default.filerepos', context, u'techdocs', u'技术文件')
    IGrantManager(files).grantRole('zopen.Reader4', 'groups.tree.default')

    callScript(context, request, 'zopen.isodoc.setup', redirect=False)

    IAppletData(root).tabpages.append('view:desk')

@script_attr(permission='zope.ManageContent',use_template='none')
def initFilerepos():
    """ 初始化文件库

    初始化一个文件库
    """

    # 文件： 默认所有人都可以查看文件，在temp文件夹可添加
    files = deployApplet('default.filerepos', context, u'files', u'公司文件')
    IGrantManager(files).grantRole('zopen.Reader4', 'groups.tree.default')

    folder = files.addFolder(u'公司管理', u'公司管理', u"存放各种公司管理制度")
    IGrantManager(folder).grantRole('zopen.Reader4', 'groups.tree.default')
    IGrantManager(folder).grantRole('zopen.Collaborator', 'groups.tree.default')

    folder = files.addFolder(u'产品信息', u'产品信息', u'') 
    IGrantManager(folder).grantRole('zopen.Reader4', 'groups.tree.default')
    IGrantManager(folder).grantRole('zopen.Collaborator', 'groups.tree.default')

    folder = files.addFolder(u'产品知识', u'产品知识', u'') 
    IGrantManager(folder).grantRole('zopen.Reader4', 'groups.tree.default')
    IGrantManager(folder).grantRole('zopen.Collaborator', 'groups.tree.default')

    folder = files.addFolder(u'参考资料', u'参考资料', u'') 
    IGrantManager(folder).grantRole('zopen.Reader4', 'groups.tree.default')
    IGrantManager(folder).grantRole('zopen.Collaborator', 'groups.tree.default')

    folder = files.addFolder(u'temp', u'临时区',u'此文件夹禁止删除，用于存放附件或者其他临时文件')
    IGrantManager(folder).grantRole('zopen.Reader4', 'groups.tree.default')
    IGrantManager(folder).grantRole('zopen.Collaborator', 'groups.tree.default')

    folder = files['temp'].addFolder(u'scan', u'扫描临时区', u'扫描的临时共享区域，扫描文件默认存放在这里')
    IGrantManager(folder).grantRole('zopen.Editor', 'groups.tree.default')

